home *** CD-ROM | disk | FTP | other *** search
/ X User Tools / X User Tools (O'Reilly and Associates)(1994).ISO / sun4c / archive / tcltk.z / tcltk / man / catn / pack-old.n < prev    next >
Text File  |  1994-09-20  |  10KB  |  265 lines

  1.  
  2.  
  3.  
  4. pack-old(n)                Tk Commands
  5.  
  6.  
  7.  
  8. _________________________________________________________________
  9.  
  10. NAME
  11.      pack - Obsolete syntax for packer geometry manager
  12.  
  13. SYNOPSIS
  14.      pack after _s_i_b_l_i_n_g _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  15.  
  16.      pack append _p_a_r_e_n_t _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  17.  
  18.      pack before _s_i_b_l_i_n_g _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  19.  
  20.      pack info _p_a_r_e_n_t
  21.  
  22.      pack unpack _w_i_n_d_o_w
  23. _________________________________________________________________
  24.  
  25.  
  26. DESCRIPTION
  27.      _N_o_t_e: _t_h_i_s _m_a_n_u_a_l _e_n_t_r_y _d_e_s_c_r_i_b_e_s _t_h_e _s_y_n_t_a_x  _f_o_r  _t_h_e  pack
  28.      _c_o_m_m_a_n_d  _a_s  _i_t _b_e_f_o_r_e _T_k _v_e_r_s_i_o_n _3._3.  _A_l_t_h_o_u_g_h _t_h_i_s _s_y_n_t_a_x
  29.      _c_o_n_t_i_n_u_e_s _t_o _b_e _s_u_p_p_o_r_t_e_d _f_o_r _b_a_c_k_w_a_r_d _c_o_m_p_a_t_i_b_i_l_i_t_y, _i_t  _i_s
  30.      _o_b_s_o_l_e_t_e  _a_n_d  _s_h_o_u_l_d _n_o_t _b_e _u_s_e_d _a_n_y_m_o_r_e.  _A_t _s_o_m_e _p_o_i_n_t _i_n
  31.      _t_h_e _f_u_t_u_r_e _i_t _m_a_y _c_e_a_s_e _t_o _b_e _s_u_p_p_o_r_t_e_d.
  32.  
  33.      The packer is a geometry manager that arranges the  children
  34.      of a parent by packing them in order around the edges of the
  35.      parent.  The first child is placed against one side  of  the
  36.      window,  occupying  the entire span of the window along that
  37.      side.  This reduces the space remaining for  other  children
  38.      as  if  the  side had been moved in by the size of the first
  39.      child.  Then the next child is placed against  one  side  of
  40.      the remaining cavity, and so on until all children have been
  41.      placed or there is no space left in the cavity.
  42.  
  43.      The before, after, and append forms of the pack command  are
  44.      used  to  insert one or more children into the packing order
  45.      for their parent.  The  before  form  inserts  the  children
  46.      before  window  _s_i_b_l_i_n_g in the order;  all of the other win-
  47.      dows must be siblings of _s_i_b_l_i_n_g.  The  after  form  inserts
  48.      the  windows  after _s_i_b_l_i_n_g, and the append form appends one
  49.      or more windows to the end of the packing order for  _p_a_r_e_n_t.
  50.      If a _w_i_n_d_o_w named in any of these commands is already packed
  51.      in its parent, it is removed from its  current  position  in
  52.      the  packing order and repositioned as indicated by the com-
  53.      mand.  All of these  commands  return  an  empty  string  as
  54.      result.
  55.  
  56.      The unpack form of the pack command removes _w_i_n_d_o_w from  the  |
  57.      packing order of its parent and unmaps it.  After the execu-  |
  58.      tion of this  command  the  packer  will  no  longer  manage  |
  59.      _w_i_n_d_o_w's geometry.
  60.  
  61.  
  62.  
  63. Tk                                                              1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. pack-old(n)                Tk Commands
  71.  
  72.  
  73.  
  74.      The placement of each child is actually a four-step process;
  75.      the  _o_p_t_i_o_n_s  argument  following  each _w_i_n_d_o_w consists of a
  76.      list of one or more fields that govern the placement of that
  77.      window.   In the discussion below, the term _c_a_v_i_t_y refers to
  78.      the space left in a parent when a particular child is placed
  79.      (i.e.  all the space that wasn't claimed by earlier children
  80.      in the packing order).  The term _p_a_r_c_e_l refers to the  space
  81.      allocated  to  a  particular child;  this is not necessarily
  82.      the same as the child window's final geometry.
  83.  
  84.      The first step in placing a child is to determine which side
  85.      of the cavity it will lie against.  Any one of the following
  86.      options may be used to specify a side:
  87.  
  88.      top  Position the child's parcel against the top of the cav-
  89.           ity, occupying the full width of the cavity.
  90.  
  91.      bottom
  92.           Position the child's parcel against the bottom  of  the
  93.           cavity, occupying the full width of the cavity.
  94.  
  95.      left Position the child's parcel against the  left  side  of
  96.           the cavity, occupying the full height of the cavity.
  97.  
  98.      right
  99.           Position the child's parcel against the right  side  of
  100.           the cavity, occupying the full height of the cavity.
  101.  
  102.      At most one of these options should  be  specified  for  any
  103.      given  window.  If no side is specified, then the default is
  104.      top.
  105.  
  106.      The second step is to decide on a parcel for the child.  For
  107.      top and bottom windows, the desired parcel width is normally
  108.      the cavity width  and  the  desired  parcel  height  is  the
  109.      window's  requested height, as passed to Tk_GeometryRequest.
  110.      For left and right windows, the  desired  parcel  height  is
  111.      normally  the  cavity  height  and  the desired width is the
  112.      window's requested  width.   However,  extra  space  may  be
  113.      requested for the window using any of the following options:
  114.  
  115.      padx _n_u_m    Add _n_u_m pixels to the window's  requested  width
  116.                  before  computing  the  parcel size as described
  117.                  above.
  118.  
  119.      pady _n_u_m    Add _n_u_m pixels to the window's requested  height
  120.                  before  computing  the  parcel size as described
  121.                  above.
  122.  
  123.      expand      This option requests that  the  window's  parcel
  124.                  absorb any extra space left over in the parent's
  125.                  cavity after  packing  all  the  children.   The
  126.  
  127.  
  128.  
  129. Tk                                                              2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. pack-old(n)                Tk Commands
  137.  
  138.  
  139.  
  140.                  amount  of  space left over depends on the sizes
  141.                  requested by the  other  children,  and  may  be
  142.                  zero.   If  several  windows  have all specified
  143.                  expand then the  extra  width  will  be  divided
  144.                  equally  among  all  the  left and right windows
  145.                  that specified expand and the extra height  will
  146.                  be  divided equally among all the top and bottom
  147.                  windows that specified expand.
  148.  
  149.      If the desired width or height for a parcel is  larger  than
  150.      the corresponding dimension of the cavity, then the cavity's
  151.      dimension is used instead.
  152.  
  153.      The third step in placing the window is  to  decide  on  the
  154.      window's width and height.  The default is for the window to
  155.      receive either its requested width and height or  the  those
  156.      of  the  parcel,  whichever  is  smaller.   If the parcel is
  157.      larger than the window's requested size, then the  following
  158.      options  may  be  used  to expand the window to partially or
  159.      completely fill the parcel:
  160.  
  161.      fill Set the window's size to equal the parcel size.
  162.  
  163.      fillx
  164.           Increase the  window's  width  to  equal  the  parcel's
  165.           width, but retain the window's requested height.
  166.  
  167.      filly
  168.           Increase the window's  height  to  equal  the  parcel's
  169.           height, but retain the window's requested width.
  170.  
  171.      The last step is to decide the window's location within  its
  172.      parcel.  If the window's size equals the parcel's size, then
  173.      the window simply fills the entire parcel.  If the parcel is
  174.      larger  than  the  window, then one of the following options
  175.      may be used to specify where the window should be positioned
  176.      within its parcel:
  177.  
  178.      frame center   Center the window in its parcel.  This is the
  179.                     default if no framing option is specified.
  180.  
  181.      frame n        Position the window with its  top  edge  cen-
  182.                     tered on the top edge of the parcel.
  183.  
  184.      frame ne       Position  the  window  with  its  upper-right
  185.                     corner  at the upper-right corner of the par-
  186.                     cel.
  187.  
  188.      frame e        Position the window with its right edge  cen-
  189.                     tered on the right edge of the parcel.
  190.  
  191.      frame se       Position  the  window  with  its  lower-right
  192.  
  193.  
  194.  
  195. Tk                                                              3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. pack-old(n)                Tk Commands
  203.  
  204.  
  205.  
  206.                     corner  at the lower-right corner of the par-
  207.                     cel.
  208.  
  209.      frame s        Position the window with its bottom edge cen-
  210.                     tered on the bottom edge of the parcel.
  211.  
  212.      frame sw       Position  the  window  with  its   lower-left
  213.                     corner  at  the lower-left corner of the par-
  214.                     cel.
  215.  
  216.      frame w        Position the window with its left  edge  cen-
  217.                     tered on the left edge of the parcel.
  218.  
  219.      frame nw       Position  the  window  with  its   upper-left
  220.                     corner  at  the upper-left corner of the par-
  221.                     cel.
  222.  
  223.      The pack info command may be used  to  retrieve  information
  224.      about  the packing order for a parent.  It returns a list in
  225.      the form
  226.  
  227.           _w_i_n_d_o_w _o_p_t_i_o_n_s _w_i_n_d_o_w _o_p_t_i_o_n_s ...
  228.  
  229.      Each _w_i_n_d_o_w is a name of a window packed in _p_a_r_e_n_t, and  the
  230.      following _o_p_t_i_o_n_s describes all of the options for that win-
  231.      dow, just as they would be typed to pack append.  The  order
  232.      of the list is the same as the packing order for _p_a_r_e_n_t.
  233.  
  234.      The packer manages the  mapped/unmapped  state  of  all  the
  235.      packed  children windows.  It automatically maps the windows
  236.      when it packs them, and it  unmaps  any  windows  for  which
  237.      there was no space left in the cavity.
  238.  
  239.      The packer makes geometry requests on behalf of  the  parent
  240.      windows  it  manages.   For each parent window it requests a
  241.      size large enough to accommodate all the  options  specified
  242.      by  all  the  packed children, such that zero space would be
  243.      leftover for expand options.
  244.  
  245.  
  246. KEYWORDS
  247.      geometry manager, location, packer, parcel, size
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261. Tk                                                              4
  262.  
  263.  
  264.  
  265.